package com.efast.cafe.portal.dao.common;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.efast.cafe.portal.bean.common.LeaveMessageBean;
import com.efast.cafe.portal.entity.common.PortalCommonLeavemsg;

public interface PortalCommonLeavemsgDao {
	/**
	 * 添加留言
	 * @param msg
	 */
	public void addLeavemsg(PortalCommonLeavemsg msg);
	
	/**
	 * 查询留言
	 * @param objectId 业务对象id 比如cip的id
	 * @param objectType 业务对象类型 比如cip
	 * @param companyCode 当前企业
	 * @param busObjectType 这里是留言的 业务对象类型
	 * @param currentUser 当前用户
	 * @return
	 */
	public List<LeaveMessageBean> queryLeavemsg(@Param(value="objectId")Integer objectId,@Param(value="objectType")String objectType,@Param(value="companyCode")String companyCode,@Param(value="busObjectType")String busObjectType,@Param(value="currentUser")String currentUser);
	
	/**
	 * 删除留言 
	 * @param id 留言id
	 * @param objectId 业务对象id
	 * @param objectType 业务对象类型
	 */
	public void delLeavemsg(@Param(value="id")Integer id,@Param(value="objectId")Integer objectId,@Param(value="objectType")String objectType,@Param(value="companyCode")String companyCode);
	
	
	
	/**
	 * 校验留言是否是当前用户发布的留言
	 * @param id
	 * @param objectId
	 * @param objectType
	 * @param companyCode
	 * @param username
	 * @return
	 */
	public int checkLeavemsgIsMine(@Param(value="id")Integer id,@Param(value="objectId")Integer objectId,@Param(value="objectType")String objectType,@Param(value="companyCode")String companyCode,@Param(value="currentUser")String currentUser);
	
	/**
	 * 根据留言id查询留言
	 * @param objectId 业务对象id 比如cip的id
	 * @param objectType 业务对象类型 比如cip
	 * @param companyCode 当前企业
	 * @param busObjectType 这里是留言的 业务对象类型
	 * @param currentUser 当前用户
	 * @return
	 */
	public LeaveMessageBean queryLeavemsgById(@Param(value="id")Integer id,@Param(value="objectId")Integer objectId,@Param(value="objectType")String objectType,@Param(value="companyCode")String companyCode,@Param(value="busObjectType")String busObjectType,@Param(value="currentUser")String currentUser);
	
}
